Las Reliquias de Tolti Aph

An interactive fiction by Graham Nelson (2005) - the Inform 7 source text

Home page

Contents
Previous
Next

Complete text
Section E(i) - Explorando el laberinto

Definition: A labyrinth room is acceptable if it is unplaced and its minimum level <= the current maze level.

Before going a direction (called this way) to Terra Incognita:
    if the location is unplaced or this way is not vectorial, say "Oops! Deberías llegar a terra incognita solo desde una habitación ya colocada; a través de una dirección vectorial (BUG!)."; [1]
    if Terra Incognita is closed, say "La salida fue bloqueada por algún encantamiento de los niños perdidos." instead;
    let possibles be the number of acceptable labyrinth rooms;
    if possibles is 0
    begin;
        retrieve inaccessible labyrinth rooms;
        let possibles be the number of acceptable labyrinth rooms;
        if possibles is 0[2]
        begin;
            now Terra Incognita is closed;
            say "En tu mente, escuchas la risa desdeñosa de los niños perdidos. '¡El hacedor de magia ha agotado el laberinto!' Y ciertamente el camino está bloqueado." instead;
        end if;
    end if;
    if possibles > 0
    begin;
        let the new room be a random acceptable labyrinth room;
        let the current position be the grid position of the location;
        let the new position be the vector sum of the current position and the vector of this way;
        position the new room at the new position;
    otherwise;
        change this way exit of the location to Solid Rock;
    end if;
    try going this way instead.

After going up to a labyrinth room from a non-ascending labyrinth room: say "Subes por la escalera secreta bien recordada."; continue the action.

After going down to a labyrinth room from a non-descending labyrinth room: say "Bajas por la escalera secreta bien recordada."; continue the action.

Instead of going to Solid Rock:
    say "Al avanzar unos pasos, el camino se ";
    if the current maze level is 1, say "torna en espesura densa e impenetrable";
    otherwise say "interrumpe en una sólida pared de roca";
    say ". Retrocedes."


Notes

[1]. Esto nunca ocurre, por supuesto: se puso para testear el juego

[2]. Por ejemplo, si ni aún recuperando las habitaciones no visitadas sirve de ayuda: entonces el laberinto está realmente agotado.